ফর্ম ডেটা সংগ্রহ করা এবং মডেলে বাইন্ড করা

Web Development - এএসপি ডট (ASP.Net) - মডেলস এবং ডাটাবাইন্ডিং |

ASP.Net অ্যাপ্লিকেশনে ফর্ম ডেটা সংগ্রহ করা এবং মডেলে বাইন্ড করা একটি সাধারণ প্রক্রিয়া, যা Model Binding এর মাধ্যমে সহজে সম্পন্ন করা যায়। Model Binding হল একটি প্রক্রিয়া যেখানে ফর্মের ইনপুট ডেটা সরাসরি একটি C# মডেল ক্লাসে ম্যাপ করা হয়। এটি অ্যাপ্লিকেশন ডেভেলপমেন্টকে অনেক সহজ এবং পরিষ্কার করে তোলে।

এখানে ASP.Net MVC অথবা ASP.Net Core MVC অ্যাপ্লিকেশনে ফর্ম ডেটা সংগ্রহ এবং মডেলে বাইন্ড করার প্রক্রিয়া ব্যাখ্যা করা হয়েছে।


১. ফর্ম ডেটা সংগ্রহ করা

ASP.Net MVC বা ASP.Net Core MVC অ্যাপ্লিকেশনে ফর্ম ডেটা সংগ্রহ করতে সাধারণত HTML ফর্ম এবং Controller এর মধ্যে ইন্টারঅ্যাকশন করা হয়। ফর্মের ইনপুট ডেটা যখন POST করা হয়, তখন তা মডেল ক্লাসে বাইন্ড করা হয়।

HTML ফর্ম তৈরি করা

প্রথমে HTML ফর্ম তৈরি করতে হবে যেখানে ব্যবহারকারী ইনপুট দেবে:

Example (Index.cshtml):

<form method="post" action="/Home/Create">
    <div>
        <label for="Name">Name</label>
        <input type="text" id="Name" name="Name" />
    </div>
    <div>
        <label for="Email">Email</label>
        <input type="email" id="Email" name="Email" />
    </div>
    <button type="submit">Submit</button>
</form>

এই ফর্মে, Name এবং Email ইনপুট ফিল্ড রয়েছে এবং যখন ফর্মটি সাবমিট হবে, তখন ডেটা POST হয়ে HomeController এর Create অ্যাকশনে পাঠানো হবে।


২. মডেল ক্লাস তৈরি করা

এখন, ডেটা যেটি ফর্ম থেকে পাঠানো হবে তা গ্রহণ করার জন্য একটি মডেল ক্লাস তৈরি করতে হবে।

Example (Person.cs):

public class Person
{
    public string Name { get; set; }
    public string Email { get; set; }
}

এটি একটি সাধারণ মডেল ক্লাস যা ফর্মের Name এবং Email ইনপুটগুলোর জন্য প্রপার্টি ধারণ করে।


৩. মডেলে বাইন্ডিং (Model Binding)

ফর্মের ডেটা মডেলে বাইন্ড করতে Controller এর POST অ্যাকশন ব্যবহার করতে হবে। এখানে ASP.Net MVC বা ASP.Net Core MVC স্বয়ংক্রিয়ভাবে ফর্ম ইনপুট ডেটা গ্রহণ করে এবং তা মডেল ক্লাসের প্রপার্টি সাথে বাইন্ড করে।

Controller এর কোড

Example (HomeController.cs):

public class HomeController : Controller
{
    [HttpGet]
    public IActionResult Index()
    {
        return View();
    }

    [HttpPost]
    public IActionResult Create(Person person)
    {
        if (ModelState.IsValid)
        {
            // মডেল ডেটা সফলভাবে বাইন্ড হয়েছে
            // এখানে আপনি ডেটাবেসে সংরক্ষণ করতে পারেন অথবা অন্য কোনো প্রসেস করতে পারেন
            return RedirectToAction("Index");
        }
        return View("Index");
    }
}

এখানে, Create অ্যাকশন মেথডের মধ্যে Person মডেলটি স্বয়ংক্রিয়ভাবে ফর্ম ডেটা দ্বারা পূর্ণ হবে। ASP.Net MVC বা ASP.Net Core MVC মডেল বাইন্ডিং প্রক্রিয়া ব্যবহার করে Name এবং Email ফর্ম ইনপুটগুলো Person মডেলের প্রপার্টি Name এবং Email এ সেট করে দেবে।


৪. মডেল বাইন্ডিং কিভাবে কাজ করে

  1. Form Submit: যখন ফর্মটি সাবমিট করা হয়, তখন ফর্মের ইনপুট ফিল্ডগুলোর নাম এবং মান HTTP POST রিকোয়েস্টের অংশ হিসেবে পাঠানো হয়।
  2. Model Binding: ASP.Net MVC / ASP.Net Core MVC এই POST রিকোয়েস্টটি গ্রহণ করে এবং ইনপুট ফিল্ডগুলোর মানগুলি সঠিক মডেল ক্লাসের প্রপার্টির সাথে মেলাতে চেষ্টা করে। যদি নাম এবং মান মেলে, তাহলে তা মডেল ক্লাসের প্রপার্টি হিসাবে সেট করা হয়।
  3. Controller Action: মডেলটি কন্ট্রোলারের অ্যাকশনে পৌঁছানোর পর, আপনি এটি ব্যবহার করতে পারেন, যেমন ডেটাবেসে সংরক্ষণ করা অথবা বিভিন্ন প্রসেস করা।

৫. ফর্ম ডেটা ভ্যালিডেশন

ASP.Net এবং ASP.Net Core MVC এ Model Validation খুবই গুরুত্বপূর্ণ। আপনি মডেল ক্লাসের মধ্যে Data Annotations ব্যবহার করে ইনপুট ভ্যালিডেশন করতে পারেন।

Data Annotations উদাহরণ

Example (Person.cs):

public class Person
{
    [Required]
    [StringLength(100)]
    public string Name { get; set; }

    [Required]
    [EmailAddress]
    public string Email { get; set; }
}

এখানে, Required অ্যাট্রিবিউট ব্যবহার করা হয়েছে যাতে Name এবং Email ইনপুট ফিল্ডগুলো অবশ্যই পূর্ণ হতে হবে, এবং EmailAddress অ্যাট্রিবিউট দিয়ে ইমেইল ফিল্ডটি সঠিক ফরম্যাটে থাকতে হবে।

Controller এ ভ্যালিডেশন চেক

[HttpPost]
public IActionResult Create(Person person)
{
    if (ModelState.IsValid)
    {
        // যদি মডেলটি সঠিকভাবে ভ্যালিড থাকে
        // ডেটা প্রসেস করা হবে
        return RedirectToAction("Index");
    }
    return View("Index");
}

ModelState.IsValid ব্যবহার করে আপনি চেক করতে পারেন যে, ফর্ম ডেটা সঠিকভাবে ভ্যালিড হয়েছে কিনা।


সারাংশ

ASP.Net অ্যাপ্লিকেশনে ফর্ম ডেটা সংগ্রহ করা এবং মডেলে বাইন্ড করা একটি সরল এবং কার্যকরী প্রক্রিয়া। Razor views এর মাধ্যমে ফর্ম তৈরি করা হয় এবং ASP.Net MVC বা ASP.Net Core MVC অ্যাকশন মেথডে ডেটা মডেল ক্লাসে বাইন্ড হয়। এছাড়া, Model Binding এবং Model Validation এর মাধ্যমে ডেটা সহজভাবে সংগ্রহ ও যাচাই করা যায়, যা আপনার অ্যাপ্লিকেশনের প্রক্রিয়াকে অনেক সহজ এবং সুরক্ষিত করে।

Content added By
Promotion